import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

class Student{
    public String username;
    public String password;
    // 此处必须要有 无参版本的构造方法
    // 不写也可以 编译器会自动生成
    public Student() {
    }
}
@WebServlet("/json")
public class Json extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // ObjectMapper json里最核心的类
        ObjectMapper objectMapper = new ObjectMapper();

        // 两个方法
        // readValue: 把json 格式的数据转成 Java 对象
        // writeValueAsString: 将 Java 对象转成 json 格式的数据

        // readValue 第一个参数是一个字符串,也可以是输入流
        // 第二个参数 是一个类对象
        Student student = objectMapper.readValue(req.getInputStream(),Student.class);
        System.out.println(student.username);
        System.out.println(student.password);
//        resp.setContentType("text/html;charset=utf8");
//        resp.getWriter().write(student.username +" "+student.password);

        resp.setContentType("application/html,charset=utf8");
        resp.getWriter().write(objectMapper.writeValueAsString(student));
    }
}
